#include <iostream>
using namespace std;

int bishops(int caso);

int main(){
	int n,k;
	while(cin >> n >> k && (n!=0 || k!=0)){
		cout << bishops(n*1000+k) << endl;
	}
}

int bishops(int caso){
	switch(caso){
		case 1000 : return 1;
		case 1001 : return 1;
		case 2000 : return 1;
		case 2001 : return 4;
		case 2002 : return 4;
		case 2003 : return 0;
		case 2004 : return 0;
		case 3000 : return 1;
		case 3001 : return 9;
		case 3002 : return 26;
		case 3003 : return 26;
		case 3004 : return 8;
		case 3005 : return 0;
		case 3006 : return 0;
		case 3007 : return 0;
		case 3008 : return 0;
		case 3009 : return 0;
		case 4000 : return 1;
		case 4001 : return 16;
		case 4002 : return 92;
		case 4003 : return 232;
		case 4004 : return 260;
		case 4005 : return 112;
		case 4006 : return 16;
		case 4007 : return 0;
		case 4008 : return 0;
		case 4009 : return 0;
		case 4010 : return 0;
		case 4011 : return 0;
		case 4012 : return 0;
		case 4013 : return 0;
		case 4014 : return 0;
		case 4015 : return 0;
		case 4016 : return 0;
		case 5000 : return 1;
		case 5001 : return 25;
		case 5002 : return 240;
		case 5003 : return 1124;
		case 5004 : return 2728;
		case 5005 : return 3368;
		case 5006 : return 1960;
		case 5007 : return 440;
		case 5008 : return 32;
		case 5009 : return 0;
		case 5010 : return 0;
		case 5011 : return 0;
		case 5012 : return 0;
		case 5013 : return 0;
		case 5014 : return 0;
		case 5015 : return 0;
		case 5016 : return 0;
		case 5017 : return 0;
		case 5018 : return 0;
		case 5019 : return 0;
		case 5020 : return 0;
		case 5021 : return 0;
		case 5022 : return 0;
		case 5023 : return 0;
		case 5024 : return 0;
		case 5025 : return 0;
		case 6000 : return 1;
		case 6001 : return 36;
		case 6002 : return 520;
		case 6003 : return 3896;
		case 6004 : return 16428;
		case 6005 : return 39680;
		case 6006 : return 53744;
		case 6007 : return 38368;
		case 6008 : return 12944;
		case 6009 : return 1600;
		case 6010 : return 64;
		case 6011 : return 0;
		case 6012 : return 0;
		case 6013 : return 0;
		case 6014 : return 0;
		case 6015 : return 0;
		case 6016 : return 0;
		case 6017 : return 0;
		case 6018 : return 0;
		case 6019 : return 0;
		case 6020 : return 0;
		case 6021 : return 0;
		case 6022 : return 0;
		case 6023 : return 0;
		case 6024 : return 0;
		case 6025 : return 0;
		case 6026 : return 0;
		case 6027 : return 0;
		case 6028 : return 0;
		case 6029 : return 0;
		case 6030 : return 0;
		case 6031 : return 0;
		case 6032 : return 0;
		case 6033 : return 0;
		case 6034 : return 0;
		case 6035 : return 0;
		case 6036 : return 0;
		case 7000 : return 1;
		case 7001 : return 49;
		case 7002 : return 994;
		case 7003 : return 10894;
		case 7004 : return 70792;
		case 7005 : return 282248;
		case 7006 : return 692320;
		case 7007 : return 1022320;
		case 7008 : return 867328;
		case 7009 : return 389312;
		case 7010 : return 81184;
		case 7011 : return 5792;
		case 7012 : return 128;
		case 7013 : return 0;
		case 7014 : return 0;
		case 7015 : return 0;
		case 7016 : return 0;
		case 7017 : return 0;
		case 7018 : return 0;
		case 7019 : return 0;
		case 7020 : return 0;
		case 7021 : return 0;
		case 7022 : return 0;
		case 7023 : return 0;
		case 7024 : return 0;
		case 7025 : return 0;
		case 7026 : return 0;
		case 7027 : return 0;
		case 7028 : return 0;
		case 7029 : return 0;
		case 7030 : return 0;
		case 7031 : return 0;
		case 7032 : return 0;
		case 7033 : return 0;
		case 7034 : return 0;
		case 7035 : return 0;
		case 7036 : return 0;
		case 7037 : return 0;
		case 7038 : return 0;
		case 7039 : return 0;
		case 7040 : return 0;
		case 7041 : return 0;
		case 7042 : return 0;
		case 7043 : return 0;
		case 7044 : return 0;
		case 7045 : return 0;
		case 7046 : return 0;
		case 7047 : return 0;
		case 7048 : return 0;
		case 7049 : return 0;
		case 8000 : return 1;
		case 8001 : return 64;
		case 8002 : return 1736;
		case 8003 : return 26192;
		case 8004 : return 242856;
		case 8005 : return 1444928;
		case 8006 : return 5599888;
		case 8007 : return 14082528;
		case 8008 : return 22522960;
		case 8009 : return 22057472;
		case 8010 : return 12448832;
		case 8011 : return 3672448;
		case 8012 : return 489536;
		case 8013 : return 20224;
		case 8014 : return 256;
		case 8015 : return 0;
		case 8016 : return 0;
		case 8017 : return 0;
		case 8018 : return 0;
		case 8019 : return 0;
		case 8020 : return 0;
		case 8021 : return 0;
		case 8022 : return 0;
		case 8023 : return 0;
		case 8024 : return 0;
		case 8025 : return 0;
		case 8026 : return 0;
		case 8027 : return 0;
		case 8028 : return 0;
		case 8029 : return 0;
		case 8030 : return 0;
		case 8031 : return 0;
		case 8032 : return 0;
		case 8033 : return 0;
		case 8034 : return 0;
		case 8035 : return 0;
		case 8036 : return 0;
		case 8037 : return 0;
		case 8038 : return 0;
		case 8039 : return 0;
		case 8040 : return 0;
		case 8041 : return 0;
		case 8042 : return 0;
		case 8043 : return 0;
		case 8044 : return 0;
		case 8045 : return 0;
		case 8046 : return 0;
		case 8047 : return 0;
		case 8048 : return 0;
		case 8049 : return 0;
		case 8050 : return 0;
		case 8051 : return 0;
		case 8052 : return 0;
		case 8053 : return 0;
		case 8054 : return 0;
		case 8055 : return 0;
		case 8056 : return 0;
		case 8057 : return 0;
		case 8058 : return 0;
		case 8059 : return 0;
		case 8060 : return 0;
		case 8061 : return 0;
		case 8062 : return 0;
		case 8063 : return 0;
		case 8064 : return 0;
	}
	return 0;
}
